# -*- coding: utf-8 -*-

import base

class Barramento(object):
    def __init__(self):
        self._valor = base.TAM*'0'
    
    def _get_valor(self):
        return self._valor

    def _set_valor(self,  valor):
        self._checa_bin(valor)
        if len(valor) < base.TAM :
            falta = base.TAM - len(valor)
            valor = '0'*falta + valor
        self._valor = valor
        
    def _checa_bin(self, valor):
        valor = valor.replace('1','')
        valor = valor.replace('0','')
        if len(valor) > 0:
            raise RegisterException(valor)
       
    valor = property(fget = _get_valor, fset = _set_valor)
